package negocio;

import java.util.Calendar;
import java.util.Date;

public class MovimientoRodeoDiario {

	private Long idMovimientoRD;
	private Rodeo rodeo;
	private int nacimientos;
	private int muertes;
	private int abortos;
	private int transfDescarte;
	private int transfRodeo;
	private int rodeoATransferir;
		
	/**
	 * @param idMovimientoRD
	 * @param rodeo
	 * @param nacimientos
	 * @param muertes
	 * @param abortos
	 * @param transfDescarte
	 * @param transfRodeo
	 * @param rodeoATransferir
	 */
	public MovimientoRodeoDiario(Long idMovimientoRD, Rodeo rodeo,
			int nacimientos, int muertes, int abortos, int transfDescarte,
			int transfRodeo, int rodeoATransferir) {
		super();
		this.idMovimientoRD = idMovimientoRD;
		this.rodeo = rodeo;
		this.nacimientos = nacimientos;
		this.muertes = muertes;
		this.abortos = abortos;
		this.transfDescarte = transfDescarte;
		this.transfRodeo = transfRodeo;
		this.rodeoATransferir = rodeoATransferir;
	}

	public Long getIdMovimientoRD() {
		return idMovimientoRD;
	}

	public void setIdMovimientoRD(Long idMovimientoRD) {
		this.idMovimientoRD = idMovimientoRD;
	}

	public Rodeo getRodeo() {
		return rodeo;
	}

	public void setRodeo(Rodeo rodeo) {
		this.rodeo = rodeo;
	}

	public int getNacimientos() {
		return nacimientos;
	}

	public void setNacimientos(int nacimientos) {
		this.nacimientos = nacimientos;
	}

	public int getMuertes() {
		return muertes;
	}

	public void setMuertes(int muertes) {
		this.muertes = muertes;
	}

	public int getAbortos() {
		return abortos;
	}

	public void setAbortos(int abortos) {
		this.abortos = abortos;
	}

	public int getTransfDescarte() {
		return transfDescarte;
	}

	public void setTransfDescarte(int transfDescarte) {
		this.transfDescarte = transfDescarte;
	}

	public int getTransfRodeo() {
		return transfRodeo;
	}

	public void setTransfRodeo(int transfRodeo) {
		this.transfRodeo = transfRodeo;
	}

	public void setRodeoATransferir(int rodeoATransferir) {
		this.rodeoATransferir = rodeoATransferir;
	}

	public int getRodeoATransferir() {
		return rodeoATransferir;
	}
	
	private Date getPrimerDiaDelAnio(){
		Calendar cal = Calendar.getInstance();
		int anio = cal.get(Calendar.YEAR);
		Date date = new Date(anio, 0, 1);
		cal.setTime(date);
        return cal.getTime();
	}
		
	public int getSumTransferenciaDescarte(Date fechaI, Date fechaF){
		if (this.getRodeo().getFecha().before(fechaI) || this.getRodeo().getFecha().after(fechaF)){
			return 0;
		}
			return this.getTransfDescarte();		
	}
	
	public int getSumMuertes(Date fechaI, Date fechaF){
		if (this.getRodeo().getFecha().before(fechaI) || this.getRodeo().getFecha().after(fechaF)){
			return 0;
		}
			return this.getMuertes();
	}
	
	public int getSumNacimientos(Date fechaI, Date fechaF){
		if (this.getRodeo().getFecha().before(fechaI) || this.getRodeo().getFecha().after(fechaF)){
			return 0;
		}
			return this.getNacimientos();		
	}
	
	public int getSumNacimientosHastaHoy(){
		if(this.getRodeo().getFecha().after(new Date()) || this.getRodeo().getFecha().before(this.getPrimerDiaDelAnio())){
			return 0;
		}
		return this.getTransfDescarte();		
	}
	
}
